import Vue from 'vue'
import Router from 'vue-router'
import { constantRoute } from './routes'
import projectId from '../../projectId.js';

const originalPush = Router.prototype.push
Router.prototype.push = function push (location, onResolve, onReject) {
  if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject)
  return originalPush.call(this, location)?.catch((err) => err)
}

Vue.use(Router)
const createRouter = () =>
  new Router({
    mode: 'history',
    base: `/pre/${projectId.projectId}`,
    scrollBehavior: () => ({ y: 0 }),
    routes: constantRoute
  })

const router = createRouter()
export function resetRouter () {
  const newRouter = createRouter()
  router.matcher = newRouter.matcher
}

export default router
